Conventional contact centers receive communications sessions such as voice and video calls, and chat sessions, from external parties. The sessions are analysed, typically by being directed through an automated application which discerns the most appropriate endpoint or group of endpoints, based on the responses of the external party (referred to as the “customer” for convenience). Typically, the endpoint or group of endpoints will be an agent or an agent group, respectively. However, the session may equally be directed to an endpoint which is, for example, an automated application.
It is increasingly common for contact centers to be grouped together so that they present a unified external appearance as a “distributed contact center” or “networked contact center”. The contact center may also include a virtual contact center element, which denotes a set of agents and applications which are not physically grouped together but which are part of the same organisational structure. In any distributed contact center environment, there will be issues of duplication of function between the component contact centers. Communications may need to be redirected from one center to another and this causes problems with managing and synchronising the data between the various contact centers so that the optimum routing is chosen.
One solution is known from US Patent Specification U.S. Pat. No. 5,546,452 assigned to GeoTel Communications Corp. The GeoTel system involves a primary central controller which makes routing decisions on behalf of a plurality of contact centers. The central controller has global authority and operates on the basis of information gathered in real-time from the entire network of contact centers. The central controller remains aware of the state of each agent and selects the most appropriate agent for each call it receives. In such a system the administrative load on the central controller is very high. While the system is indicated to have a redundant central controller in case of failure of the primary controller, there is nevertheless a problem in the volume of data and processing required at the central controller, particularly where it is to handle ever increased volumes of calls and large distributed contact centers.
A further disadvantage with such a system is that the controller must be specifically configured to communicate with the particular contact centers under its control, meaning that it is not readily adaptable. It is often desirable for a distributed contact center to dynamically recruit its constituent members to meet its expected call load. Contact centers an be independent commercial entities available for hire by organisations, and this model requires that the individual centers can slot into and out of the distributed or networked contact center system. This is not possible when a central controller needs to be configured and adapted to the specific parameters of the contact centers under its control, since the configuration time is far greater than the time-scale over which such centers are expected to join and leave the network. Note that calls, contacts and sessions are used interchangeably in the text below.